package com.ruoyi.config;

import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.IdUtil;
import org.springframework.stereotype.Component;

@Component
public class SnowflakeIdGenerator {
    private final Snowflake snowflake;

    // 构造函数注入工作机器 ID 和数据中心 ID（需确保全局唯一）
    public SnowflakeIdGenerator() {
        // 示例：使用固定值（实际生产环境建议从配置或数据库获取）
        long workerId = 1L;
        long dataCenterId = 1L;
        this.snowflake = IdUtil.createSnowflake(workerId, dataCenterId);
    }

    // 生成分布式唯一 ID
    public long nextId() {
        return snowflake.nextId();
    }
}